<html>
<head><meta charset="utf-8"><title>checking in on libs-impl · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html">checking in on libs-impl</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="217203436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217203436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217203436">(Nov 18 2020 at 22:10)</a>:</h4>
<p>Hey all! <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> I thought I’d try check in and see how the whole <code>libs-impl</code> split is going from the compiler perspective. I think since we last spoke about things we set up a <code>library-reviewers</code> team for contributors that want to work on the standard library implementation, but not necessarily on the compiler itself. It’s all bound up together. Should we consider re-purposing this team (that doesn’t actually have any official purpose yet) for <code>libs-impl</code>?</p>



<a name="217203720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217203720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217203720">(Nov 18 2020 at 22:12)</a>:</h4>
<p>What's the boundary between t-libs and libs-impl?</p>



<a name="217203759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217203759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217203759">(Nov 18 2020 at 22:12)</a>:</h4>
<p>like, <a href="https://github.com/rust-lang/rust/issues/79178">https://github.com/rust-lang/rust/issues/79178</a> is about the implementation, but seems relevant to users as well</p>



<a name="217203813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217203813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217203813">(Nov 18 2020 at 22:12)</a>:</h4>
<p>Generally they overlap pretty heavily, but the split is somewhat like T-compiler and T-lang</p>



<a name="217204057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217204057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217204057">(Nov 18 2020 at 22:15)</a>:</h4>
<p>Yeh, I was wondering if having a team for it that we use in the highfive config that’s effectively the intersection of libs and compiler that want to write and review std implementation code might clear it up a bit?</p>



<a name="217207792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217207792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217207792">(Nov 18 2020 at 22:51)</a>:</h4>
<p>I think that's a good idea - not sure if "team" is the right name, but I think it's not a bad idea either to do that - probably worth trying to work out a charter and figure out a good set of people and such.</p>



<a name="217333681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333681">(Nov 19 2020 at 21:34)</a>:</h4>
<p>Hmm</p>



<a name="217333710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333710">(Nov 19 2020 at 21:35)</a>:</h4>
<p>I'm a bit torn on the best way to approach this</p>



<a name="217333746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333746">(Nov 19 2020 at 21:35)</a>:</h4>
<p>but I think that having a "stdlib impl" team is a pretty plausible resolution</p>



<a name="217333798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333798">(Nov 19 2020 at 21:35)</a>:</h4>
<p>another way I could see is sort of renaming "compiler" to something more general ("core implementation" or something), and treating the stdlib as one of the compiler's <em>areas</em> that some folks specialize in</p>



<a name="217333809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333809">(Nov 19 2020 at 21:36)</a>:</h4>
<p>(this being a concept I think we should make a touch more formal)</p>



<a name="217333902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217333902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217333902">(Nov 19 2020 at 21:36)</a>:</h4>
<p>/me is thinking about this for roadmap goals :)</p>



<a name="217338512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/217338512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#217338512">(Nov 19 2020 at 22:16)</a>:</h4>
<p>We are also looking at establishing an experts map in Libs, which I think would be a further specialization of stdlib under core imlpementation. A lot of modules in there are pretty domain specific or need a lot of context to work on, so it seems like lots of contributors like to focus on just a few areas or platforms</p>



<a name="220184711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220184711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220184711">(Dec 16 2020 at 22:49)</a>:</h4>
<blockquote>
<p>figure out a good set of people and such.</p>
</blockquote>
<blockquote>
<p>having a "stdlib impl" team is a pretty plausible resolution</p>
</blockquote>
<p>Effectively this already what <code>library-reviewers</code> is now. (As a subteam of <code>libs</code>: <a href="https://www.rust-lang.org/governance/teams/library">https://www.rust-lang.org/governance/teams/library</a> (the part with the purple background))</p>
<blockquote>
<p>another way I could see is sort of renaming "compiler" to something more general</p>
</blockquote>
<p>I think libs implementation changes are quite different from most compiler implementaiton changes, and they often still have a lot of interaction with the public API that the libs team manages. There are very few PRs that are purely implementation and have no discussion about the public api or publicly visible changes. I can't think of many examples of recent <code>libs-impl</code> PRs that the libs team wasn't involved in.</p>
<p>In practice, we still discuss implementation changes in the libs meetings, so the hand over to the compiler team that was originally planned doesn't really seem to have happened. I suppose that's also an indicator that it's not easy to split.</p>



<a name="220188913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220188913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220188913">(Dec 16 2020 at 23:35)</a>:</h4>
<p>A thought on a split that might work: codifying the set of people who can approve <em>unstable</em> library changes (like new methods).  Certainly stabilization would still be a libs FCP, but it's currently a bit fuzzy whether a random reviewer (such as myself) is enough to approve new unstable methods.</p>
<p>The other thing that comes to mind is subject experts for things like the BTree implementation that are substantially more complicated than some random slice method or similar.</p>



<a name="220253114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220253114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220253114">(Dec 17 2020 at 14:59)</a>:</h4>
<blockquote>
<p>so the hand over to the compiler team that was originally planned doesn't really seem to have happened. </p>
</blockquote>
<p>I wish someone could have told the compiler team that. We have been including <code>libs-impl</code> items in our already overloaded agenda, and if that's not necessary, I'd love to drop them.</p>



<a name="220253254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220253254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220253254">(Dec 17 2020 at 15:00)</a>:</h4>
<p>(I'll admit, the fact that we don't often <em>have</em> a lot of <code>libs-impl</code> items each week is a sign that the current process, ill-defined or not, does seem to be getting work done.)</p>



<a name="220253353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220253353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220253353">(Dec 17 2020 at 15:00)</a>:</h4>
<p>I would be interested in what implementation questions libs is discussing more concretely - it seems like that should indeed to some extent have been handed over :)</p>



<a name="220258813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220258813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220258813">(Dec 17 2020 at 15:39)</a>:</h4>
<blockquote>
<p>codifying the set of people who can approve unstable library changes</p>
</blockquote>
<p>I think in practice that's basically the set of people that's on the high-five rotation for <code>library/</code>, which is more or less the same as the library-reviewers subteam now.</p>



<a name="220259405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220259405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220259405">(Dec 17 2020 at 15:43)</a>:</h4>
<blockquote>
<p>We have been including libs-impl items in our already overloaded agenda, and if that's not necessary, I'd love to drop them.</p>
</blockquote>
<p>Good to know. We'll discuss it in the next libs meeting. If you have any examples of libs-impl items that the compiler team has handled, that'd be useful. Just to get a bit of an idea of how much of it is done by either team right now, because that's a bit unclear to everyone it seems. ^^</p>



<a name="220269191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220269191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220269191">(Dec 17 2020 at 16:51)</a>:</h4>
<p>I think i'll write down some notes about the state of 'libs-impl' and some ideas of how to continue. So if you have anything to say about the current situation (i wasn't around when this split started, so i don't have all the context), or if you have more ideas on how to improve, please let me know. :)</p>



<a name="220326777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220326777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220326777">(Dec 18 2020 at 01:25)</a>:</h4>
<p>This might also suggest the libs and compiler teams should just be communicating more often and more directly. Maybe we should work together towards a libs impl charter and try participate a bit more in eachothers meetings?</p>



<a name="220327227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220327227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220327227">(Dec 18 2020 at 01:31)</a>:</h4>
<p><span class="user-mention" data-user-id="125270">@scottmcm</span> I think we all have some ad-hoc heuristics and feelings about what does and doesn't belong in <code>std</code>. Since the criteria for what we land as unstable is less strict than what we stabilize I think it would be fair for anybody on <code>library-reviewers</code> or <code>libs-impl</code> to merge unstable features. We're getting some better visibility on our unstable feature set so maybe we should get used to pruning the ones that don't have any path to stabilization after a while</p>



<a name="220327361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220327361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220327361">(Dec 18 2020 at 01:33)</a>:</h4>
<p>It also sounds like it's time for an experts map for <code>/library</code> that we've been talking about for a while, so I did a little git munging to list active contributors to each file over the last 12 months we could maybe use to start bootstrapping it: <a href="https://hackmd.io/T5xAJ3QTRsm7NBK8RNh_tQ">https://hackmd.io/T5xAJ3QTRsm7NBK8RNh_tQ</a></p>



<a name="220328035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220328035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220328035">(Dec 18 2020 at 01:44)</a>:</h4>
<p>Hmm, why does the JSON-like object in the HackMD have trailing commas? That's not valid JSON unfortunately :/</p>



<a name="220328093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220328093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220328093">(Dec 18 2020 at 01:45)</a>:</h4>
<p>Ah, because it's a Debug-printed <code>HashMap</code></p>



<a name="220328180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220328180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220328180">(Dec 18 2020 at 01:46)</a>:</h4>
<p>Ah yeh... Maybe I should've used a "Real" format to output <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="220328214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220328214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220328214">(Dec 18 2020 at 01:47)</a>:</h4>
<p>I'll convert it to JSON so you can <code>jq</code> <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="220329439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329439">(Dec 18 2020 at 02:08)</a>:</h4>
<p>Actually I'm using <code>json.loads</code> in Python, but yeah that would help :)</p>



<a name="220329464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329464">(Dec 18 2020 at 02:08)</a>:</h4>
<p>Done!</p>



<a name="220329465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329465">(Dec 18 2020 at 02:08)</a>:</h4>
<p>I wrote a very hacky parser to strip the trailing commas <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> </p>
<div class="codehilite" data-code-language="Python"><pre><span></span><code><span class="kn">import</span> <span class="nn">sys</span>


<span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
    <span class="n">prev_line</span> <span class="o">=</span> <span class="kc">None</span>

    <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">stdin</span><span class="p">:</span>
        <span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s2">","</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"}"</span><span class="p">:</span>
            <span class="n">prev_line</span> <span class="o">=</span> <span class="n">prev_line</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s2">","</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"</span><span class="se">\n</span><span class="s2">"</span>
        <span class="k">if</span> <span class="n">prev_line</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
            <span class="n">prev_line</span> <span class="o">=</span> <span class="n">prev_line</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)</span>
            <span class="nb">print</span><span class="p">(</span><span class="n">prev_line</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span>
        <span class="n">prev_line</span> <span class="o">=</span> <span class="n">line</span>

    <span class="k">if</span> <span class="n">prev_line</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
        <span class="nb">print</span><span class="p">(</span><span class="n">prev_line</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span>


<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
    <span class="n">main</span><span class="p">()</span>
</code></pre></div>



<a name="220329494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329494">(Dec 18 2020 at 02:09)</a>:</h4>
<p>Hmm, this doesn't look quite right:</p>
<div class="codehilite" data-code-language="JavaScript"><pre><span></span><code>    <span class="s2">"Beno├«t du Garreau"</span><span class="o">:</span> <span class="mf">1</span><span class="p">,</span>
</code></pre></div>



<a name="220329566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329566">(Dec 18 2020 at 02:10)</a>:</h4>
<p>It should be:</p>
<div class="codehilite" data-code-language="JavaScript"><pre><span></span><code>    <span class="s2">"Benoît du Garreau"</span><span class="o">:</span> <span class="mf">1</span><span class="p">,</span>
</code></pre></div>



<a name="220329584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329584">(Dec 18 2020 at 02:10)</a>:</h4>
<p>Ahh, I think that's Windows terminal's bad unicode support</p>



<a name="220329614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329614">(Dec 18 2020 at 02:11)</a>:</h4>
<p>Maybe open it in Vim and <code>:%y</code>? Not sure if that will fix it.</p>



<a name="220329685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329685">(Dec 18 2020 at 02:12)</a>:</h4>
<p>Let's move to a new topic so we don't distract from this thread.</p>



<a name="220329713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329713">(Dec 18 2020 at 02:12)</a>:</h4>
<p>In <a class="stream" data-stream-id="219381" href="/#narrow/stream/219381-t-libs">#t-libs</a>, <a class="stream" data-stream-id="122651" href="/#narrow/stream/122651-general">#general</a>, <a class="stream" data-stream-id="131828" href="/#narrow/stream/131828-t-compiler">#t-compiler</a>?</p>



<a name="220329747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329747">(Dec 18 2020 at 02:13)</a>:</h4>
<p>Maybe <a class="stream" data-stream-id="219381" href="/#narrow/stream/219381-t-libs">#t-libs</a> is best</p>



<a name="220329823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/220329823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#220329823">(Dec 18 2020 at 02:14)</a>:</h4>
<p><span class="user-mention" data-user-id="204346">@Ashley Mannix</span>: <a href="#narrow/stream/219381-t-libs/topic/libs.20experts.20map">https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/libs.20experts.20map</a></p>



<a name="222660704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222660704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222660704">(Jan 13 2021 at 23:13)</a>:</h4>
<p>Hey all! We talked about libs-impl at our Libs meeting today and started defining how we think standard library development could look. Would the best way to communicate this all with you all be through a compiler MCP?</p>



<a name="222667209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222667209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222667209">(Jan 14 2021 at 00:32)</a>:</h4>
<p>I think that would be a potential, but it might be useful to run it by some folks first? Not exactly sure there's much difference. Excited to hear it! :)</p>



<a name="222689415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222689415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222689415">(Jan 14 2021 at 08:18)</a>:</h4>
<p>How <em>has</em> libs-impl been working out, as a concept? Any learnings to share with other teams?</p>
<p>In the cargo team, we briefly discussed the idea of a cargo-impl team.</p>



<a name="222705630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222705630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222705630">(Jan 14 2021 at 11:27)</a>:</h4>
<p>I think our experience so far from the Libs side has been that most Libs Impl work is also intertwined with Libs, but that's because we haven't _really_ defined what's Libs and what's Impl. It's taken us actually making a concerted effort to get on top of our backlog ourselves to finally be able to tease them apart a bit. So we'll see how it keeps going as we try establish the charter, but I think one learning so far has been that we need to be explicit on what's the responsibility of the parent team and what's the responsibility of the impl team</p>



<a name="222705935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222705935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222705935">(Jan 14 2021 at 11:30)</a>:</h4>
<p>That might also stem from our original motivation being "we don't have bandwidth for this". If there's one thing we're good at in Libs it's offloading all of our responsibilities onto somebody else <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> Coming at Libs Impl fresh from the motivation of building the best kind of support we can around our library contributors that lets them do their thing has set us on a much clearer track</p>



<a name="222706256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/222706256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#222706256">(Jan 14 2021 at 11:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> Yeh, I thought a MCP might be the way to go since they magically appear on your meeting agendas <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="223068391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/223068391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#223068391">(Jan 17 2021 at 23:03)</a>:</h4>
<p>Ok, here's what we've got so far as a charter for Libs Impl: <a href="https://hackmd.io/AFIoTuatR5-RCJiHqGZk-A">https://hackmd.io/AFIoTuatR5-RCJiHqGZk-A</a></p>
<p>What do you all think? It would be great to have a couple compiler members who're also interested in std come on board.</p>



<a name="223068471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/checking%20in%20on%20libs-impl/near/223068471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/checking.20in.20on.20libs-impl.html#223068471">(Jan 17 2021 at 23:05)</a>:</h4>
<p>We've been calling it a subteam of Libs, but maybe it should live on its own. I'm not sure how we actually go about establishing new teams <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>